
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

<HTML>

<HEAD>
   <TITLE>nvc2pl_c</TITLE>
</HEAD>

<BODY style="color: rgb(0, 0, 0); background-color: rgb(255, 255, 255);">
<A name="TOP"></A>

<table style="text-align: left; margin-left: auto; margin-right: auto; width: 800px;"
 border="0" cellpadding="5" cellspacing="2">
  <tbody>
    <tr>
      <td style="background-color: rgb(153, 153, 153); vertical-align: middle; text-align: center;">
      <div align="right"> 
      <small><small><a href="index.html">Index Page</a></small></small>
      </div>
      <b>nvc2pl_c</b> </td>
    </tr>

    <tr>
      <td style="vertical-align: top;">

<small><div align="center">
<A HREF="index.html#A">A</A>&nbsp;
<A HREF="index.html#B">B</A>&nbsp;
<A HREF="index.html#C">C</A>&nbsp;
<A HREF="index.html#D">D</A>&nbsp;
<A HREF="index.html#E">E</A>&nbsp;
<A HREF="index.html#F">F</A>&nbsp;
<A HREF="index.html#G">G</A>&nbsp;
<A HREF="index.html#H">H</A>&nbsp;
<A HREF="index.html#I">I</A>&nbsp;
<A HREF="index.html#J">J</A>&nbsp;
<A HREF="index.html#K">K</A>&nbsp;
<A HREF="index.html#L">L</A>&nbsp;
<A HREF="index.html#M">M</A>&nbsp;
<A HREF="index.html#N">N</A>&nbsp;
<A HREF="index.html#O">O</A>&nbsp;
<A HREF="index.html#P">P</A>&nbsp;
<A HREF="index.html#Q">Q</A>&nbsp;
<A HREF="index.html#R">R</A>&nbsp;
<A HREF="index.html#S">S</A>&nbsp;
<A HREF="index.html#T">T</A>&nbsp;
<A HREF="index.html#U">U</A>&nbsp;
<A HREF="index.html#V">V</A>&nbsp;
<A HREF="index.html#W">W</A>&nbsp;
<A HREF="index.html#X">X</A>&nbsp;
</div></small>
       <br>
       <table style="text-align: left; width: 60%; margin-left: auto; margin-right: auto;"
       border="0" cellspacing="2" cellpadding="2">
        <tbody>
          <tr>
            <td style="width: 50%; text-align: center;">
            <small>
              <a href="#Procedure">Procedure<br></a>
              <a href="#Abstract">Abstract<br></a>
              <a href="#Required_Reading">Required_Reading<br></a>
              <a href="#Keywords">Keywords<br></a>
              <a href="#Brief_I/O">Brief_I/O<br></a>
              <a href="#Detailed_Input">Detailed_Input<br></a>

              </small>
              </td>
              <td style="vertical-align: top; width: 50%; text-align: center;">
              <small>               <a href="#Detailed_Output">Detailed_Output<br></a>
              <a href="#Parameters">Parameters<br></a>
              <a href="#Exceptions">Exceptions<br></a>
              <a href="#Files">Files<br></a>
              <a href="#Particulars">Particulars<br></a>
              <a href="#Examples">Examples<br></a>

              </small>
              </td>
              <td style="vertical-align: top; width: 50%; text-align: center;">
              <small>               <a href="#Restrictions">Restrictions<br></a>
              <a href="#Literature_References">Literature_References<br></a>
              <a href="#Author_and_Institution">Author_and_Institution<br></a>
              <a href="#Version">Version<br></a>
              <a href="#Index_Entries">Index_Entries<br></a>
             </small>
            </td>
          </tr>
        </tbody>
</table>

<h4><a name="Procedure">Procedure</a></h4>
<PRE>
   void nvc2pl_c ( ConstSpiceDouble     normal[3],
                   SpiceDouble          constant,
                   SpicePlane        *  plane     ) 

</PRE>
<h4><a name="Abstract">Abstract</a></h4>
<PRE>
 
   Make a CSPICE plane from a normal vector and a constant. 
 </PRE>
<h4><a name="Required_Reading">Required_Reading</a></h4>
<PRE>
 
   <a href="../req/planes.html">PLANES</a> 
 </PRE>
<h4><a name="Keywords">Keywords</a></h4>
<PRE>
 
   GEOMETRY 
   MATH 
   PLANE 
 

</PRE>
<h4><a name="Brief_I/O">Brief_I/O</a></h4>
<PRE>
 
   Variable  I/O  Description 
   --------  ---  -------------------------------------------------- 
   normal, 
   constant   I   A normal vector and constant defining a plane. 
   plane      O   A CSPICE plane structure representing the plane. 
 </PRE>
<h4><a name="Detailed_Input">Detailed_Input</a></h4>
<PRE>
 
   normal, 
   constant       are, respectively, a normal vector and constant
                  defining a plane.  normal need not be a unit vector.
                  Let the symbol &lt; a, b &gt; indicate the inner product of
                  vectors a and b; then the geometric plane is the set
                  of vectors x in three-dimensional space that satisfy
 
                     &lt; x,  normal &gt;  =  constant. 
 </PRE>
<h4><a name="Detailed_Output">Detailed_Output</a></h4>
<PRE>
 
   plane          is a CSPICE plane structure that represents the 
                  geometric plane defined by normal and constant. 
 </PRE>
<h4><a name="Parameters">Parameters</a></h4>
<PRE>
 
   None. 
 </PRE>
<h4><a name="Exceptions">Exceptions</a></h4>
<PRE>
 
   1)  If the input vector normal is the zero vector, the error 
       SPICE(ZEROVECTOR) is signalled. 
 </PRE>
<h4><a name="Files">Files</a></h4>
<PRE>
 
   None. 
 </PRE>
<h4><a name="Particulars">Particulars</a></h4>
<PRE>
 
   CSPICE geometry routines that deal with planes use the `plane' 
   data type to represent input and output planes.  This data type 
   makes the subroutine interfaces simpler and more uniform. 
 
   The CSPICE routines that produce CSPICE planes from data that 
   define a plane are: 
 
      <b>nvc2pl_c</b> ( Normal vector and constant to plane ) 
      <a href="nvp2pl_c.html">nvp2pl_c</a> ( Normal vector and point to plane    ) 
      <a href="psv2pl_c.html">psv2pl_c</a> ( Point and spanning vectors to plane ) 
 
   The CSPICE routines that convert CSPICE planes to data that 
   define a plane are: 
 
      <a href="pl2nvc_c.html">pl2nvc_c</a> ( Plane to normal vector and constant ) 
      <a href="pl2nvp_c.html">pl2nvp_c</a> ( Plane to normal vector and point    ) 
      <a href="pl2psv_c.html">pl2psv_c</a> ( Plane to point and spanning vectors ) 
 
   Any of these last three routines may be used to convert this 
   routine's output, plane, to another representation of a 
   geometric plane. 
 </PRE>
<h4><a name="Examples">Examples</a></h4>
<PRE>
 
   1)  Apply a linear transformation represented by the matrix M to 
       a plane represented by the normal vector N and the constant C. 
       Find a normal vector and constant for the transformed plane. 
 
          /. 
          Make a CSPICE plane from n and c, and then find a 
          point in the plane and spanning vectors for the 
          plane.  n need not be a unit vector. 
          ./ 
          <b>nvc2pl_c</b> ( n,       c,     &amp;plane         ); 
          <a href="pl2psv_c.html">pl2psv_c</a> ( &amp;plane,  point,  span1,  span2 );
           
 
          /.
          Apply the linear transformation to the point and 
          spanning vectors.  All we need to do is multiply 
          these vectors by m, since for any linear 
          transformation T, 
           
                T ( POINT  +  t1 * SPAN1     +  t2 * SPAN2 ) 
      
             =  T (POINT)  +  t1 * T(SPAN1)  +  t2 * T(SPAN2), 
            
          which means that T(POINT), T(SPAN1), and T(SPAN2) 
          are a point and spanning vectors for the transformed 
          plane. 
          ./
      
          <a href="mxv_c.html">mxv_c</a> ( m, point, tpoint ); 
          <a href="mxv_c.html">mxv_c</a> ( m, span1, tspan1 ); 
          <a href="mxv_c.html">mxv_c</a> ( m, span2, tspan2 ); 
 
          /.
          Make a new CSPICE plane tplane from the 
          transformed point and spanning vectors, and find a 
          unit normal and constant for this new plane. 
          ./
          
          <a href="psv2pl_c.html">psv2pl_c</a> ( tpoint,   tspan1,  tspan2,  &amp;tplane ); 
          <a href="pl2nvc_c.html">pl2nvc_c</a> ( &amp;tplane,  tn,      &amp;tc              ); 
          
 </PRE>
<h4><a name="Restrictions">Restrictions</a></h4>
<PRE>
 
   No checking is done to prevent arithmetic overflow. 
 </PRE>
<h4><a name="Literature_References">Literature_References</a></h4>
<PRE>
 
   [1] `Calculus and Analytic Geometry', Thomas and Finney. 
 </PRE>
<h4><a name="Author_and_Institution">Author_and_Institution</a></h4>
<PRE>
 
   N.J. Bachman   (JPL) 
 </PRE>
<h4><a name="Version">Version</a></h4>
<PRE>
 
   -CSPICE Version 1.0.1, 02-NOV-2009 (NJB)

      Corrected header typo.

   -CSPICE Version 1.0.0, 01-MAR-1999 (NJB)
</PRE>
<h4><a name="Index_Entries">Index_Entries</a></h4>
<PRE>
 
   normal vector and constant to plane 
 </PRE>
<h4>Link to routine nvc2pl_c source file <a href='../../../src/cspice/nvc2pl_c.c'>nvc2pl_c.c</a> </h4>

      </td>
    </tr>
  </tbody>
</table>

   <pre>Wed Jun  9 13:05:27 2010</pre>

</body>
</html>

